package com.rc.saas.mini.vo.charge;

import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonProperty;

import java.math.BigDecimal;

/**
 * 启动充电参数，非中电联标准
 */
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE)
public class CommandStartReq {
    @JsonProperty
    private String tenantCode; //tenantCode 运营商
    @JsonProperty
    private String tenantOperatorCode;//二级运营商

    @JsonProperty
    private String hlhtTenantCode;//SAAS互联互通运营商
    @JsonProperty
    private String hlhtOperatorId;//互联互通的operatorID

    @JsonProperty
    private String orderSource;//订单来源 0 公众号 1 APP  2小程序 3.刷卡 4.VIN码充电   9.第三方API  默认0
    @JsonProperty
    private Long orderId;
    @JsonProperty
    private String orderNum; //订单号
    @JsonProperty
    private String outOrderNum;//外部订单号

    @JsonProperty
    private Long elecStationId;//桩群ID
    @JsonProperty
    private Long elecPileId; //桩ID
    @JsonProperty
    private Long elecGunId; //枪ID
    @JsonProperty
    private String gunNo; //枪号
    @JsonProperty
    private String gunNum; //枪顺序号

    @JsonProperty
    private String qRCode; //枪二维码编号

    @JsonProperty
    private String time; //当前时间戳

    @JsonProperty
    private String token;

    @JsonProperty
    private Integer status;    //订单启动状态 0.启动成功 1.启动失败

    //扩展属性
    private Long memberId; //会员ID
    private String mobile;//会员手机
    private String accountType;//支付的账户类型 0个人钱包 1企业钱包 默认0
    //private String chargeType;//充电类型 0单冲  1多充 默认0

    private String ticketUsingType; //优先使用优惠卷,0使用 1不使用

    private String memberTicketIds; //优惠卷id,多个用逗号分割

    private BigDecimal preAmount;//预充电金额（元）

    private Integer preTime;//预充电时间（h）

    private String startType;
    private String startValue;
    private String isUseGiveAmount;

    public String getIsUseGiveAmount() {
        return isUseGiveAmount;
    }

    public void setIsUseGiveAmount(String isUseGiveAmount) {
        this.isUseGiveAmount = isUseGiveAmount;
    }

    public String getStartType() {
        return startType;
    }

    public void setStartType(String startType) {
        this.startType = startType;
    }

    public String getStartValue() {
        return startValue;
    }

    public void setStartValue(String startValue) {
        this.startValue = startValue;
    }

    public BigDecimal getPreAmount() {
        return preAmount;
    }

    public void setPreAmount(BigDecimal preAmount) {
        this.preAmount = preAmount;
    }

    public Integer getPreTime() {
        return preTime;
    }

    public void setPreTime(Integer preTime) {
        this.preTime = preTime;
    }

    public String getMemberTicketIds() {
        return memberTicketIds;
    }

    public void setMemberTicketIds(String memberTicketIds) {
        this.memberTicketIds = memberTicketIds;
    }

    public String getTenantCode() {
        return tenantCode;
    }

    public void setTenantCode(String tenantCode) {
        this.tenantCode = tenantCode;
    }

    public String getTenantOperatorCode() {
        return tenantOperatorCode;
    }

    public void setTenantOperatorCode(String tenantOperatorCode) {
        this.tenantOperatorCode = tenantOperatorCode;
    }

    public String getHlhtTenantCode() {
        return hlhtTenantCode;
    }

    public void setHlhtTenantCode(String hlhtTenantCode) {
        this.hlhtTenantCode = hlhtTenantCode;
    }

    public String getHlhtOperatorId() {
        return hlhtOperatorId;
    }

    public void setHlhtOperatorId(String hlhtOperatorId) {
        this.hlhtOperatorId = hlhtOperatorId;
    }

    public String getOrderSource() {
        return orderSource;
    }

    public void setOrderSource(String orderSource) {
        this.orderSource = orderSource;
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public String getOrderNum() {
        return orderNum;
    }

    public void setOrderNum(String orderNum) {
        this.orderNum = orderNum;
    }

    public String getOutOrderNum() {
        return outOrderNum;
    }

    public void setOutOrderNum(String outOrderNum) {
        this.outOrderNum = outOrderNum;
    }

    public Long getElecStationId() {
        return elecStationId;
    }

    public void setElecStationId(Long elecStationId) {
        this.elecStationId = elecStationId;
    }

    public Long getElecPileId() {
        return elecPileId;
    }

    public void setElecPileId(Long elecPileId) {
        this.elecPileId = elecPileId;
    }

    public Long getElecGunId() {
        return elecGunId;
    }

    public void setElecGunId(Long elecGunId) {
        this.elecGunId = elecGunId;
    }

    public String getGunNo() {
        return gunNo;
    }

    public void setGunNo(String gunNo) {
        this.gunNo = gunNo;
    }

    public String getGunNum() {
        return gunNum;
    }

    public void setGunNum(String gunNum) {
        this.gunNum = gunNum;
    }

    public String getqRCode() {
        return qRCode;
    }

    public void setqRCode(String qRCode) {
        this.qRCode = qRCode;
    }

    public String getTime() {
        return time;
    }

    public void setTime(String time) {
        this.time = time;
    }

    public String getToken() {
        return token;
    }

    public void setToken(String token) {
        this.token = token;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Long getMemberId() {
        return memberId;
    }

    public void setMemberId(Long memberId) {
        this.memberId = memberId;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getAccountType() {
        return accountType;
    }

    public void setAccountType(String accountType) {
        this.accountType = accountType;
    }

    public String getTicketUsingType() {
        return ticketUsingType;
    }

    public void setTicketUsingType(String ticketUsingType) {
        this.ticketUsingType = ticketUsingType;
    }
}
